const app = getApp();
const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const dateFormat = (fmt, date) => {
  let ret;
  let opt = {
    "Y+": date.getFullYear().toString(),        // 年
    "m+": (date.getMonth() + 1).toString(),     // 月
    "d+": date.getDate().toString(),            // 日
    "H+": date.getHours().toString(),           // 时
    "M+": date.getMinutes().toString(),         // 分
    "S+": date.getSeconds().toString()          // 秒
    // 有其他格式化字符需求可以继续添加，必须转化成字符串
  };
  for (let k in opt) {
    ret = new RegExp("(" + k + ")").exec(fmt);
    if (ret) {
      fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
    };
  };
  return fmt;
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : '0' + n
}

const toast = (message, status = false) => {
  wx.showToast({
    title: message,
    icon: status ? 'success' : 'none'
  })
}
// 获取头部高度
const getNavbarHeight = () => {
  if (!app.globalData.systeminfo) {
    app.globalData.systeminfo = wx.getSystemInfoSync();
  }
  if (!app.globalData.headerBtnPosi) app.globalData.headerBtnPosi = wx.getMenuButtonBoundingClientRect();
  let statusBarHeight = app.globalData.systeminfo.statusBarHeight // 状态栏高度
  let headerPosi = app.globalData.headerBtnPosi // 胶囊位置信息
  let btnPosi = { // 胶囊实际位置，坐标信息不是左上角原点
    bottom: headerPosi.bottom - headerPosi.height - statusBarHeight, // 胶囊bottom - 胶囊height - 状态栏height （胶囊实际bottom 为距离导航栏底部的长度）
  }
  return headerPosi.bottom + btnPosi.bottom;
}
module.exports = {
  formatTime: formatTime,
  dateFormat: dateFormat,
  toast,
  getNavbarHeight,
}

